﻿namespace Syngine.Components
{
	/// <summary>
	/// 
	/// </summary>
	public interface IUpdate
	{
		/// <summary>
		/// Gets a value indicating whether this instance is initialized.
		/// </summary>
		/// <value><c>true</c> if this instance is initialized; otherwise, <c>false</c>.</value>
		bool IsInitialized { get; }

		/// <summary>
		/// Initializes this instance.
		/// </summary>
		void Initialize();

		/// <summary>
		/// Allows the current object to Update.
		/// </summary>
		/// <param name="context">The context.</param>
		void Update(UpdateContext context);
	}
}